Spectators
Up until now the spectators in Rush Rally have been few and far between. They were far too expensive to render on the handheld platforms without a huge amount of optimisation. This was something I really wanted to address, and also I really didn't want to spend ages authoring the assets. As such I have come up with a system where by I can now render up to 32 different people in one draw call, and they are also fully fledged models (not flat billboards).
This basically consists of a pre process step which combines up a set of textures (each one defines a single individual person) into one mega texture. There is a single model per sex (one for male and one for female), The model has a number of clothing items on it, all of which can be disabled using a specific texture colour (T shirts/Jumpers/Shorts/Trousers etc), and then the model data for all individual instances is batched up for instanced rendering into one contiguous vertex buffer (as I already support in my engine).
This then means that I can in one draw call render up to 32 differently textured people in the same pose, however this isn't ideal when you want o have different animations on top, so as another step, I can also animate these engine individually engine side and they will still be rendered in one call, I've also added some shader params to vary them even more, this allows us to create a very nice looking crowd with not many draw calls, which I can place around the world.
The end result means the world starts to feel much fuller than it ever has done before.